package com.gwtgeo.ui.client.gin;

import net.customware.gwt.dispatch.client.DispatchAsync;
import net.customware.gwt.dispatch.client.gin.StandardDispatchModule;
import net.customware.gwt.presenter.client.EventBus;
import net.customware.gwt.presenter.client.place.PlaceManager;

import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;
import com.gwtgeo.ui.client.mvp.AppPresenter;
import com.gwtgeo.ui.client.mvp.desktop.DesktopPresenter;
import com.gwtgeo.ui.client.mvp.layers.AddLayerPresenter;
import com.gwtgeo.ui.client.mvp.layers.LayersPresenter;
import com.gwtgeo.ui.client.mvp.loadmap.LoadMapPresenter;
import com.gwtgeo.ui.client.mvp.map.MapPresenter;
import com.gwtgeo.ui.client.mvp.newmap.NewMapPresenter;
import com.gwtgeo.ui.client.mvp.savemapas.SaveMapAsPresenter;
import com.gwtgeo.ui.client.mvp.searchform.SearchFormPresenter;
import com.gwtgeo.ui.client.mvp.searchresults.SearchResultsPresenter;
import com.gwtgeo.ui.client.mvp.windowsmanager.WindowsManager;

@GinModules( { StandardDispatchModule.class, GwtgeoClientModule.class })
public interface GwtgeoGinjector extends Ginjector {

	PlaceManager getPlaceManager();
	EventBus getEventBus();
	DispatchAsync getDispatchAsync();
	AppPresenter getAppPresenter();
	WindowsManager getWindowsManager();
	DesktopPresenter getDesktopPresenter();
	MapPresenter getMapPresenter();
	SearchFormPresenter getSearchFormPresenter();
	SearchResultsPresenter getSearchResultsPresenter();
	LayersPresenter getLayersPresenter();
	SaveMapAsPresenter getSaveAsPresenter();
	AddLayerPresenter getAddLayerPresenter();
	LoadMapPresenter getLoadPresenter();
	NewMapPresenter getNewMapPresenter();
}